package com.starlink.model.vo.mall;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author: zyh
 * @date: 2024-04-22
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel("商城订单查询响应模型")
public class MallOrderDetailListVO implements Serializable {
    @ApiModelProperty("订单ID")
    private Long id;
    @ApiModelProperty("商品ID")
    private String articlesId;
    @ApiModelProperty("地址ID")
    private Long addressId;
    @ApiModelProperty("收件人")
    private String receiver;
    @ApiModelProperty("手机号")
    private String mobile;
    @ApiModelProperty("省")
    private String province;
    @ApiModelProperty("市")
    private String city;
    @ApiModelProperty("区/县")
    private String area;
    @ApiModelProperty("详细地址")
    private String detail;
    @ApiModelProperty("订单编号")
    private String orderNum;
    @ApiModelProperty("订单类型 1:书籍订单 2:周边订单 3:积分订单 4:购物车订单")
    private String orderType;
    @ApiModelProperty("名称")
    private String title;
    @ApiModelProperty("封面")
    private String picture;
    @ApiModelProperty("订单状态 0:全部订单 1:待付款 2:待发货 3:待收货 4:已完成 5:已取消 6:售后中 7:已售后")
    private String status;
    @ApiModelProperty("单价")
    private BigDecimal unitPrice;
    @ApiModelProperty("运费")
    private BigDecimal freight;
    @ApiModelProperty("规格")
    private String specification;
    @ApiModelProperty("购买数量")
    private Integer quantity;
    @ApiModelProperty("是否售后 0:否 1:是")
    private Integer isRefunds;
    @ApiModelProperty("售后状态 0:待审批 1:待寄回 2:运输中 3:已完成 4:已驳回")
    private Integer refundStatus;
    @ApiModelProperty("支付方式")
    private String payType;
    @ApiModelProperty("微信订单号")
    private String wxOrderNum;
    @ApiModelProperty("支付金额")
    private BigDecimal payPrice;
    @ApiModelProperty("积分价格")
    private Long integralPrice;
    @ApiModelProperty("积分商品支付类型 1积分支付 2积分+钱")
    private Integer paymentType;
    @ApiModelProperty("创建时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private Date cancelTime;
    @ApiModelProperty("支付时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;
    @ApiModelProperty("收货时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private Date receiveGoodsTime;
    @ApiModelProperty("订单超时时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private Date timeout;

    @ApiModelProperty("购物车订单")
    private List<MallCarOrderListVO> carOrderList;
}
